1. Field
This application relates to communication networks and, more particularly, to a method and apparatus for accelerated protection switching in a multi-switch network element.
2. Description of the Related Art
Data communication networks may include various computers, servers, hubs, switches, nodes, routers, proxies, and other devices coupled to and configured to pass data to one another. These devices will be referred to herein as “network elements” or “nodes”. Data is communicated through the data communication network by passing protocol data units, such as frames, packets, cells, or segments, between the network elements by utilizing one or more communication links. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
Communication networks may be configured in multiple different topologies, such as ring-based topologies and mesh topologies. Ring-based topologies advantageously provide fast protection switching such that if a failure is experienced on a portion of the ring, traffic may be diverted the other way through the ring to minimize disruption on the network. One common ring-based topology has been successfully deployed in North America and several other areas of the World is commonly referred to as BLSR which runs on Synchronous Optical NETwork (SONET) equipment. Another similar standard that is used extensively in Europe and several other areas is commonly referred to as MS-SPRing which runs on Synchronous Data Hierarchy (SDH) equipment. SONET/SDH divides the total capacity on a link up into time slots, referred to in the standards as Synchronous Telecommunication Signals (STS#s). Although one or more embodiments of the invention may be described herein in connection with a SONET/SDH network implementation, the invention is not limited in this manner and may be more broadly utilized in a network element operating in a network configured in other than ring-based or mesh-based networks, and not limited to the SONET/SDH physical (layer 1) protocol.
Mesh topologies enable nodes on the mesh to communicate with multiple other nodes so that traffic is not required to be communicated to a specific node as it progresses through the network. To increase the speed at which traffic may be protection switched through a mesh network without requiring a new path to be found through the mesh network, it is possible to organize protection cycles (p-cycles) and reserve a portion of the bandwidth on those p-cycles to carry protection traffic in the event of a failure.
P-cycles enable portions of a mesh network to be designated to back up particular links in the mesh to enable the network devices to perform fast link restoration without requiring notification of the source or destination nodes. Thus, in a mesh network the working path will be carried over the mesh network, while the restoration path will be carried over the logical ring. Restoration of traffic from a failed arc, however, should not have an unplanned negative impact on traffic which normally uses the restoration path. Mesh networks may be based on the SONET physical layer or other physical layer protocol.
As used herein, the term “restoration” will be used to convey the notion of restoring a connection once there has been a failure. Thus, for example, if a connection is provisioned through the network and there is a problem on the network, the connection may be restored on the network by finding a new path. Restoration within a network element is similar—if the connection through the network element is required to change, the connection through the network element is restored by finding a new path through the network element for the connection after the failure has occurred.
One restoration approach is to use a re-dial approach. Once it is required to switch from the original path, the re-dial approach calculates a new path on the fly. If this calculation is fast enough, the approach can be used in place of protection; otherwise, it can only be used for restoration.
Protection, by contrast, refers to the notion of having a back-up path should there be a problem in the path carrying the connection. On a network level, a protection path is a path that is reserved or specified as being configured to carry the connection should there be a problem on the working path. Furthermore, although a signaling protocol may be used to trigger the protection operation, no new connection commands have to be sent to any node to achieve this. Protection carries a similar meaning at the network element level—a backup path for the connection is already preconfigured through the network element to carry the traffic in event the primary cannot be used because of a an internal or external failure. Similarly in this case, no new internal connection commands have to be centrally calculated and/or distributed.
Protection may be dedicated or shared. Dedicated protection refers to resources that are reserved solely to protect the connection or group of connections associated with the dedicated protection. Shared protection refers to having greater working traffic than protection capacity on the protected network.
As networks have evolved to handle increasing amounts of data, the complexity of network elements configured to operate on the communication networks has increased as well. Large conventional network elements configured as network switches include multiple port cards and one or two switches or switch cards configured to switch signals to/from the port cards. One way to increase the capacity of a network element is to use multiple working switches or switch cards, with minimal or no switch to switch connectivity, within the network switch, and optionally include one or more back-up switches or switch cards to be used in the event of a failure of a primary switch card.
Using multiple switches or switch cards requires routing to take place to cause the connections being handled by the network element to be allocated to one or many of the switches or switch cards. In doing so, the routing algorithm should minimize or ideally eliminate the possibility that one or more of the input signals will not be able to be transmitted/handled by the network element during normal operation or when the signals are switched to the protection path through the network element. An inability to switch to protection from working or between arbitrary STS#s will be referred to herein as blocking. Additionally, depending on the protocols in use on the network, additional constraints may be imposed. For example, in a SONET network, the four-fiber ring standard (GR1230) provides that a failure on a ring should be detected in less than 10 msec and that the time to switch traffic to protection should be accomplished in under 50 msec. Additionally, ideally, a network element should be able to process ring-to-ring connection set-up requests at an acceptable rate. To accommodate these requirements, the routing algorithm should be able to be implemented and operated in a relatively quick and hence simple manner. Moreover, once a connection is implemented on the network switch, the switch should not cause the connection to be blocked if traffic is required to switch e.g., from working to protection on a ring.
Accordingly, it would be desirable to have a way to route and switch at an arbitrary granularity, for example at an STS-1 level, and to enable accelerated protection switching in a network switch.